package cn.itsource.fallback;

import cn.itsource.course.doc.CourseDoc;
import cn.itsource.course.query.CourseQuery;
import cn.itsource.feignclient.EsFeignClientt;
import cn.itsource.util.AjaxResult;
import feign.hystrix.FallbackFactory;

import java.util.List;

//拖地数据返回
//在new一个接口的时候，因为接口不能直接new出来，这里使用了密名内部类
//也可以写一个实现类的方式，但是比较的麻烦
public class EsFallbackFactory implements FallbackFactory<EsFeignClientt> {

    @Override
    public EsFeignClientt create(Throwable throwable) {
        return new EsFeignClientt() {
            @Override
            public AjaxResult save(CourseDoc courseDoc) {
                return AjaxResult.me().setSuccess(false).setMessage("es服务不可用");
            }

            @Override
            public AjaxResult delete(Long id) {
                return AjaxResult.me().setSuccess(false).setMessage("es服务不可用");

            }

            @Override
            public List<CourseDoc> seach(CourseQuery courseQuery) {
                throwable.printStackTrace();
                return null;
            }
        };
    }
}
